I. Field of the Invention
The present invention relates to data communication. More particularly, the present invention relates to a novel and improved method and apparatus for the efficient retransmission of data using symbol accumulation.
II. Description of the Related Art
The use of code division multiple access (CDMA) modulation techniques is one of several techniques for facilitating communications in which a large number of system users are present. Other multiple access communication system techniques, such as time division multiple access (TDMA) and frequency division multiple access (FDMA) are known in the art. However, the spread spectrum modulation techniques of CDMA has significant advantages over other modulation techniques for multiple access communication systems. The use of CDMA techniques in a multiple access communication system is disclosed in U.S. Pat. No. 4,901,307, entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS," assigned to the assignee of the present invention and is incorporated by reference herein. The use of CDMA techniques in a multiple access communication system is further disclosed in U.S. Pat. No. 5,103,459, entitled "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM," also assigned to the assignee of the present invention and is incorporated by reference herein. Furthermore, the CDMA system can be designed to conform to the "TIA/EIA/IS-95A Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System", hereinafter referred to as the IS-95A standard.
CDMA, by its inherent nature of being a wideband signal, offers a form of frequency diversity by spreading the signal energy over a wide bandwidth. Therefore, frequency selective fading affects only a small part of the CDMA signal bandwidth. Space or path diversity is obtained by providing multiple signal paths through simultaneous links to a mobile user or remote station through two or more base stations. Furthermore, path diversity may be obtained by exploiting the multipath environment through spread spectrum processing by allowing signals arriving with different propagation delays to be received and processed separately. Examples of improved demodulation using path diversity are illustrated in U.S. Pat. No. 5,101,501 entitled "METHOD AND SYSTEM FOR PROVIDING A SOFT HANDOFF IN COMMUNICATIONS IN A CDMA CELLULAR TELEPHONE SYSTEM," and U.S. Pat. No. 5,109,390 entitled "DIVERSITY RECEIVER IN A CDMA CELLULAR TELEPHONE SYSTEM," both assigned to the assignee of the present invention and incorporated by reference herein.
The reverse link refers to a transmission from a remote station to a base station. On the reverse link, each transmitting remote station acts as an interference to other remote stations in the network. Therefore, the reverse link capacity is limited by the total interference which a remote station experiences from other remote stations. The CDMA system increases the reverse link capacity by transmitting fewer bits, thereby using less power and reducing interference, when the user is not speaking.
The forward link refers to a transmission from a base station to a remote station. On the forward link, the transmission power of the base station is controlled for several reasons. A high transmission power from the base station can cause excessive interference with other base stations. Alternatively, if the transmission power of the base station is too low, the remote station can receive erroneous data transmissions. Terrestrial channel fading and other known factors can affect the quality of the forward link signal as received by the remote station. As a result, the base station attempts to adjust its transmission power of signal to each remote station to maintain the desired level of performance at the remote station.
The forward link and reverse link are capable of data transmission at variable data rates. A method for transmitting data in data packets of fixed size, wherein the data source provides data at a variable data rate, is described in detail in U.S. Pat. No. 5,504,773, entitled "METHOD AND APPARATUS FOR THE FORMATTING OF DATA FOR TRANSMISSION", assigned to the assignee of the present invention and incorporated by reference herein. Data is partitioned into data packets (or packets) and each data packet is then encoded into an encoded packet. Typically, the encoded packets are of a predetermined duration. For example, in accordance with the IS-95A standard for the forward link, each encoded packet is 20 msec wide and, at the 19.2 Ksps symbol rate, each encoded packet contains 384 symbols. A rate 1/2 or a rate 3/4 convolutional encoder is used to encode the data, depending on the application. Using a rate 1/2 encoder, the data rate is approximately 9.6 Kbps. At the 9.6 Kbps data rate, there are 172 data bits, 12 cyclic redundancy check (CRC) bits and 8 code tail bits per data packet.
At lower data rates, such as 4.8 Kbps, 2.4 Kbps, or 1.2 Kbps, the code symbols within the encoded packet is repeated N.sub.s number of times to maintain a constant 19.2 Ksps symbol rate. Symbol repetition is performed to provide time diversity which improves the decoding performance in an impaired channel. To minimize the transmission power and increase system capacity, the transmission power level of each symbol is scaled in accordance with the repetition rate N.sub.s.
In accordance with the IS-95A standard, each data packet is block encoded with a CRC polynomial and then convolutionally encoded. The encoded packet is transmitted from the source device to the destination device. At the destination device, the received packet is demodulated and convolutionally decoded with a Viterbi decoder. The decoded data is then checked by a CRC checker to determine if the received packet has been decoded correctly or in error. The CRC check is only able to determine whether an error within the decoded packet is present. The CRC check is not able to correct the error. Therefore, another mechanism is required to allow correction of the data packets received in error.